home *** CD-ROM | disk | FTP | other *** search
- var base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-
- function base64encode(s)
- {
- var t = '', p = -6, a = 0, i = 0, v = 0, c;
-
- while ( (i < s.length) || (p > -6) ) {
- if ( p < 0 ) {
- if ( i < s.length ) {
- c = s.charCodeAt(i++);
- v += 8;
- } else {
- c = 0;
- }
- a = ((a&255)<<8)|(c&255);
- p += 8;
- }
- if ( v > 0 )
- t += base64list.charAt((a>>p)&63);
- else
- t += base64list.charAt(64);
- p -= 6;
- v -= 6;
- }
- return t;
- }
-
- function base64decode(s)
- {
- var t = '', p = -8, a = 0, q = 0, c, m, n;
-
- for( var i = 0; i < s.length; i++ ) {
- c = base64list.indexOf(s.charAt(i));
- if ( c < 0 )
- continue;
- a = (a<<6)|(c&63);
- p += 6;
- if ( p >= 0 ) {
- c = (a>>p)&255;
- if ( c > 0 )
- t += String.fromCharCode(c);
- a &= 63;
- p -= 8;
- }
- }
- return t;
- }
-
-